
package dao;

import entite.ChangementEtat;
import java.util.List;
import javax.ejb.Local;

@Local
public interface ChangementEtatFacadeLocal {

    /**
     * Méthode de création d'un changement d'état
     * @param changementEtat : changementEtat à créer
     */
    void create(ChangementEtat changementEtat);

    /**
     * Méthode de modification d'un changement d'état
     * @param changementEtat : changementEtat à modifier
     * @return ChangementEtat modifié
     */
    ChangementEtat edit(ChangementEtat changementEtat);

    /**
     * Méthode de suppression d'un changement d'état
     * @param changementEtat : changementEtat à supprimer
     */
    void remove(ChangementEtat changementEtat);

    /**
     * Méthode pour trouver un changement d'état
     * @param id : id du changementEtat à trouver
     * @return changementEtat trouvé
     */
    ChangementEtat find(Object id);

    /**
     * Méthode pour extraire tous les changements d'état
     * @return liste de tous les changements d'état
     */
    List<ChangementEtat> findAll();

    /**
     * Méthode pour extraire la liste de tous les changements d'état en utilisant les indices
     * @param range : tableau d'indice
     * @return liste des changements d'état
     */
    List<ChangementEtat> findRange(int[] range);

    /**
     * Méthode pour compter le nombre de changement d'état
     * @return nombre trouvé
     */
    int count();

}
